package com.hb.medical_research_system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hb.medical_research_system.common.Results;
import com.hb.medical_research_system.entity.Article;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author hb
* @description 针对表【article】的数据库操作Service
* @createDate 2023-02-25 11:14:47
*/
public interface ArticleService extends IService<Article> {
    /**
     * 新增文章
     * @param address
     * @return
     */
    Results add(String address);

    /**
     * 根据标题搜索
     * @param title
     * @return
     */
    List<Article> searchByTitle(String title);

    /**
     * 根据标题搜索(分页 )
     * @param title
     * @param page
     * @param pageSize
     * @return
     */
    Page<Article> searchByTitle2(String title, int page, int pageSize);

    /**
     * 根据作者搜索
     * @param another
     * @return
     */
    List<Article> searchByAnother(String another);

    /**
     * 根据作者搜索(分页)
     * @param another
     * @param page
     * @param pageSize
     * @return
     */
    Page<Article> searchByAnother2(String another, int page, int pageSize);

    /**
     * 根据期刊搜索
     * @param periodical
     * @return
     */
    List<Article> searchByPeriodical(String periodical);

    /**
     * 根据期刊搜索(分页)
     * @param periodical
     * @param page
     * @param pageSize
     * @return
     */
    Page<Article> searchByPeriodical2(String periodical, int page, int pageSize);

    /**
     * 根据原生关键字搜索
     * @param nativeKeyword
     * @return
     */
    List<Article> searchByNativeKeyword(String nativeKeyword);

    /**
     * 根据原生关键字搜索(分页)
     * @param nativeKeyword
     * @param page
     * @param pageSize
     * @return
     */
    Page<Article> searchByNativeKeyword2(String nativeKeyword, int page, int pageSize);

    /**
     * 根据摘要搜索
     * @param summary
     * @return
     */
    List<Article> searchBysummary(String summary);

    /**
     * 根据摘要搜索(分页)
     * @param summary
     * @param page
     * @param pageSize
     * @return
     */
    Page<Article> searchBysummary2(String summary, int page, int pageSize);


}
